<html>
<head><meta charset="utf-8"><title>meeting 2021-06-15 · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html">meeting 2021-06-15</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="242790952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242790952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242790952">(Jun 15 2021 at 20:01)</a>:</h4>
<p>Hey <span class="user-group-mention" data-user-group-id="692">@WG-traits</span> <span aria-label="wave" class="emoji emoji-1f44b" role="img" title="wave">:wave:</span></p>



<a name="242790989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242790989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242790989">(Jun 15 2021 at 20:01)</a>:</h4>
<p>I was away last week and I think <span class="user-mention" data-user-id="232957">@Jack Huey</span> is away this week</p>



<a name="242791010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791010">(Jun 15 2021 at 20:01)</a>:</h4>
<p>I'm trying to burn through some pretty specific goals</p>



<a name="242791030"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791030" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791030">(Jun 15 2021 at 20:01)</a>:</h4>
<p>One of them is that I want TAIT to be on a path to stabilization by end of week</p>



<a name="242791091"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791091" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791091">(Jun 15 2021 at 20:02)</a>:</h4>
<p>So I was thinking we might use some time today to dig into the known remaining blockers</p>



<a name="242791101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791101">(Jun 15 2021 at 20:02)</a>:</h4>
<p>Particularly if you're around, <span class="user-mention" data-user-id="116266">@Santiago Pastorino</span></p>



<a name="242791220"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791220" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791220">(Jun 15 2021 at 20:03)</a>:</h4>
<p>I'm looking at <a href="https://github.com/rust-lang/rust/issues/83190">https://github.com/rust-lang/rust/issues/83190</a></p>



<a name="242791235"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791235" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791235">(Jun 15 2021 at 20:03)</a>:</h4>
<p>I'm about to push a branch that reproduces the problem</p>



<a name="242791321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791321">(Jun 15 2021 at 20:03)</a>:</h4>
<p>test case: <a href="https://gist.github.com/nikomatsakis/95a0663584c575837f40d957c7c3c8ca">https://gist.github.com/nikomatsakis/95a0663584c575837f40d957c7c3c8ca</a></p>



<a name="242791458"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791458" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791458">(Jun 15 2021 at 20:04)</a>:</h4>
<p>something definitely looks bogus here</p>



<a name="242791483"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791483" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791483">(Jun 15 2021 at 20:04)</a>:</h4>
<p>I have a vague memory from talking to <span class="user-mention" data-user-id="124288">@oli</span> that this had to do with a misplaced substitution</p>



<a name="242791575"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791575" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791575">(Jun 15 2021 at 20:05)</a>:</h4>
<p>I'm pulling up my notes from the time</p>



<a name="242791773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791773">(Jun 15 2021 at 20:06)</a>:</h4>
<p>they're not very helpful, but it does confirm my general suspicion</p>



<a name="242791858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791858">(Jun 15 2021 at 20:07)</a>:</h4>
<p>So the ICE is a delay-span-bug with the message "unexpected concrete region in borrowck:"</p>



<a name="242791862"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791862" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791862">(Jun 15 2021 at 20:07)</a>:</h4>
<p>that appears in two places</p>



<a name="242791887"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791887" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791887">(Jun 15 2021 at 20:07)</a>:</h4>
<p>yes, we have some trickery for impl trait in return position that injects some extra lifetimes and does some substitution magic, and from the debug output we saw that this wasn't actually happening here</p>



<a name="242791980"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242791980" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242791980">(Jun 15 2021 at 20:08)</a>:</h4>
<p>if you run with <code>-Ztreat-err-as-bug</code> you can get a proper backtrace</p>



<a name="242792118"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242792118" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242792118">(Jun 15 2021 at 20:09)</a>:</h4>
<p>it appears that <a href="https://github.com/rust-lang/rust/blob/c101d40e59f42ac2c15aca8cccb3b19d32591834/compiler/rustc_mir/src/borrow_check/region_infer/opaque_types.rs#L83-L87">https://github.com/rust-lang/rust/blob/c101d40e59f42ac2c15aca8cccb3b19d32591834/compiler/rustc_mir/src/borrow_check/region_infer/opaque_types.rs#L83-L87</a> is the place where error is reported</p>



<a name="242792361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242792361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242792361">(Jun 15 2021 at 20:11)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> do you remember where that substitution was supposed to be happening :)</p>



<a name="242792366"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242792366" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242792366">(Jun 15 2021 at 20:11)</a>:</h4>
<p>I'm trying to page this all back in</p>



<a name="242792472"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242792472" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242792472">(Jun 15 2021 at 20:12)</a>:</h4>
<p>so the ICE occurs in <a href="https://github.com/rust-lang/rust/blob/c101d40e59f42ac2c15aca8cccb3b19d32591834/compiler/rustc_mir/src/borrow_check/region_infer/opaque_types.rs#L83-L87">this borrow code</a> when the type has something other than a <code>ReVar</code></p>



<a name="242792511"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242792511" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242792511">(Jun 15 2021 at 20:12)</a>:</h4>
<p>this is the code that is actually doing the reverse inference</p>



<a name="242792532"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242792532" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242792532">(Jun 15 2021 at 20:12)</a>:</h4>
<p>i.e., given a resolved opaque type, it is mapping backwards to the definition</p>



<a name="242792545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242792545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242792545">(Jun 15 2021 at 20:12)</a>:</h4>
<p>I guess the next question is where this code is invoked from</p>



<a name="242792635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242792635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242792635">(Jun 15 2021 at 20:13)</a>:</h4>
<p>looks like the <a href="https://github.com/rust-lang/rust/blob/246571a846e29691bd535d531365acd318857207/compiler/rustc_mir/src/borrow_check/nll.rs#L303-L304">call is here</a></p>



<a name="242792726"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242792726" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242792726">(Jun 15 2021 at 20:14)</a>:</h4>
<p>I'm not really here. But still trying to fix the perf regressions in my branch</p>



<a name="242792749"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242792749" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242792749">(Jun 15 2021 at 20:14)</a>:</h4>
<p>so <code>opaque_type_values</code> is coming from <code>type_check::type_check</code> on <a href="https://github.com/rust-lang/rust/blob/246571a846e29691bd535d531365acd318857207/compiler/rustc_mir/src/borrow_check/nll.rs#L176-L177">this line</a></p>



<a name="242792769"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242792769" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242792769">(Jun 15 2021 at 20:14)</a>:</h4>
<p>Seems like the remaining regression is a typeck regression</p>



<a name="242792794"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242792794" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242792794">(Jun 15 2021 at 20:14)</a>:</h4>
<p>which in turn comes from here:</p>
<p><a href="https://github.com/rust-lang/rust/blob/246571a846e29691bd535d531365acd318857207/compiler/rustc_mir/src/borrow_check/type_check/mod.rs#L169-L185">https://github.com/rust-lang/rust/blob/246571a846e29691bd535d531365acd318857207/compiler/rustc_mir/src/borrow_check/type_check/mod.rs#L169-L185</a></p>



<a name="242792810"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242792810" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242792810">(Jun 15 2021 at 20:14)</a>:</h4>
<p><span class="user-mention silent" data-user-id="232957">Jack Huey</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-06-15/near/242792769">said</a>:</p>
<blockquote>
<p>Seems like the remaining regression is a typeck regression</p>
</blockquote>
<p>ok-- I haen't had a chance to catch up on your topic yet!</p>



<a name="242792943"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242792943" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242792943">(Jun 15 2021 at 20:15)</a>:</h4>
<p>ok, this all makes sense</p>



<a name="242793014"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793014" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793014">(Jun 15 2021 at 20:16)</a>:</h4>
<p>the question is basically <em>when did this <code>Ty</code> sneak in there</em></p>



<a name="242793025"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793025" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793025">(Jun 15 2021 at 20:16)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> how much are you following along here:)</p>



<a name="242793108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793108">(Jun 15 2021 at 20:17)</a>:</h4>
<p>I'm still not sure what's going on</p>



<a name="242793119"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793119" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793119">(Jun 15 2021 at 20:17)</a>:</h4>
<p>was still trying to run the code</p>



<a name="242793128"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793128" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793128">(Jun 15 2021 at 20:17)</a>:</h4>
<p>the <code>insert</code> call appears to <a href="https://github.com/rust-lang/rust/blob/246571a846e29691bd535d531365acd318857207/compiler/rustc_mir/src/borrow_check/type_check/mod.rs#L1328-L1329">be here</a></p>



<a name="242793146"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793146" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793146">(Jun 15 2021 at 20:17)</a>:</h4>
<p>ok, I'm going to dig a bit more and then circle back to explain</p>



<a name="242793293"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793293" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793293">(Jun 15 2021 at 20:18)</a>:</h4>
<p>first of all, I'm trying to understand what's the problem about</p>



<a name="242793322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793322">(Jun 15 2021 at 20:18)</a>:</h4>
<p>taits doesn't handle regions at all?</p>



<a name="242793334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793334">(Jun 15 2021 at 20:18)</a>:</h4>
<p>or there are troubles in certain situations?</p>



<a name="242793406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793406">(Jun 15 2021 at 20:19)</a>:</h4>
<p>the problem is that we are encountering a region we don't expect</p>



<a name="242793445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793445">(Jun 15 2021 at 20:19)</a>:</h4>
<p>this suggests we failed to do a substitution that we were supposed to do</p>



<a name="242793509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793509">(Jun 15 2021 at 20:19)</a>:</h4>
<p>in the NLL code, we expect to replace all regions (expect for <code>'static</code>) with <code>ReVar</code> regions</p>



<a name="242793590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793590">(Jun 15 2021 at 20:20)</a>:</h4>
<p>but the values being <a href="https://github.com/rust-lang/rust/blob/c101d40e59f42ac2c15aca8cccb3b19d32591834/compiler/rustc_mir/src/borrow_check/region_infer/opaque_types.rs#L60-L61">logged by this <code>debug!</code> statement</a> are:</p>



<a name="242793608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793608">(Jun 15 2021 at 20:20)</a>:</h4>
<div class="codehilite"><pre><span></span><code>├─0ms DEBUG rustc_mir::borrow_check::region_infer::opaque_types concrete_type=(), substs=[ReEarlyBound(0, &#39;a), T]
</code></pre></div>



<a name="242793624"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793624" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793624">(Jun 15 2021 at 20:20)</a>:</h4>
<p>note the <code>ReEarlyBound</code></p>



<a name="242793643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793643">(Jun 15 2021 at 20:20)</a>:</h4>
<p>ohh right, there shouldn't be any region there</p>



<a name="242793698"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793698" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793698">(Jun 15 2021 at 20:20)</a>:</h4>
<p>concrete type is <code>()</code></p>



<a name="242793742"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793742" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793742">(Jun 15 2021 at 20:21)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-06-15/near/242793624">said</a>:</p>
<blockquote>
<p>note the <code>ReEarlyBound</code></p>
</blockquote>
<p>I see</p>



<a name="242793751"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793751" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793751">(Jun 15 2021 at 20:21)</a>:</h4>
<p>earlier I see this output</p>
<div class="codehilite"><pre><span></span><code>DEBUG rustc_mir::borrow_check::type_check eq_opaque_type_and_type: instantiated output_ty=_#0t opaque_type_map=VecMap(
    [
        (
            OpaqueTypeKey {
                def_id: DefId(0:16 ~ issue_83190[317d]::{impl#0}::ImplTrait::{opaque#0}),
                substs: [
                    ReEarlyBound(0, &#39;a),
                    T,
                ],
            },
            OpaqueTypeDecl {
                opaque_type: Opaque(DefId(0:16 ~ issue_83190[317d]::{impl#0}::ImplTrait::{opaque#0}), [ReEarlyBound(0, &#39;a), T]),
                definition_span: src/test/ui/impl-trait/issue-83190.rs:28:15: 28:30 (#0),
                concrete_ty: _#0t,
                has_required_region_bounds: false,
                origin: TyAlias,
            },
        ),
    ],
) revealed_ty=()
</code></pre></div>



<a name="242793947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793947">(Jun 15 2021 at 20:22)</a>:</h4>
<p>there seems to be some missing logging</p>



<a name="242793973"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793973" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793973">(Jun 15 2021 at 20:22)</a>:</h4>
<p>well, maybe not</p>



<a name="242793984"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242793984" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242793984">(Jun 15 2021 at 20:22)</a>:</h4>
<p>I guess that is invoked from <a href="https://github.com/rust-lang/rust/blob/246571a846e29691bd535d531365acd318857207/compiler/rustc_mir/src/borrow_check/type_check/mod.rs#L1315-L1318">here</a></p>



<a name="242794044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794044">(Jun 15 2021 at 20:23)</a>:</h4>
<p>those substitutions should be there, right?</p>



<a name="242794089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794089">(Jun 15 2021 at 20:23)</a>:</h4>
<p>the problem is that they aren't related to the returned <code>()</code>?</p>



<a name="242794137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794137">(Jun 15 2021 at 20:23)</a>:</h4>
<p>I think the substitutions are wrong</p>



<a name="242794153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794153">(Jun 15 2021 at 20:24)</a>:</h4>
<p>so they shouldn't even be there</p>



<a name="242794209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794209">(Jun 15 2021 at 20:24)</a>:</h4>
<p>they should have been translated</p>



<a name="242794225"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794225" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794225">(Jun 15 2021 at 20:24)</a>:</h4>
<p>at least that's what the ICE is about</p>



<a name="242794228"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794228" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794228">(Jun 15 2021 at 20:24)</a>:</h4>
<p>right</p>



<a name="242794250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794250">(Jun 15 2021 at 20:24)</a>:</h4>
<p>not 100% sure of how that process works but yeah they shouldn't apply to <code>()</code></p>



<a name="242794275"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794275" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794275">(Jun 15 2021 at 20:24)</a>:</h4>
<p>it seems .. not that complicated</p>



<a name="242794311"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794311" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794311">(Jun 15 2021 at 20:25)</a>:</h4>
<p>we get the substitution from <a href="https://github.com/rust-lang/rust/blob/246571a846e29691bd535d531365acd318857207/compiler/rustc_mir/src/borrow_check/type_check/mod.rs#L1256-L1263">this line</a></p>



<a name="242794355"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794355" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794355">(Jun 15 2021 at 20:25)</a>:</h4>
<p>which is invoking <code>instantiate_opaque_types</code></p>



<a name="242794382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794382">(Jun 15 2021 at 20:25)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/blob/246571a846e29691bd535d531365acd318857207/compiler/rustc_trait_selection/src/opaque_types.rs#L165-L189">defined here</a></p>



<a name="242794451"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794451" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794451">(Jun 15 2021 at 20:26)</a>:</h4>
<p>that function is not part of NLL</p>



<a name="242794474"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794474" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794474">(Jun 15 2021 at 20:26)</a>:</h4>
<p>and is somewhat expected to yield values that contain <code>ReEarlyBound</code> or what have you</p>



<a name="242794537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794537">(Jun 15 2021 at 20:26)</a>:</h4>
<p>but then we <a href="https://github.com/rust-lang/rust/blob/246571a846e29691bd535d531365acd318857207/compiler/rustc_mir/src/borrow_check/type_check/mod.rs#L1285-L1286">iterate through the <code>opaque_type_map</code></a></p>



<a name="242794633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794633">(Jun 15 2021 at 20:27)</a>:</h4>
<p>we <a href="https://github.com/rust-lang/rust/blob/246571a846e29691bd535d531365acd318857207/compiler/rustc_mir/src/borrow_check/type_check/mod.rs#L1311-L1314">apply the substitutions to the <code>concrete_ty</code></a> -- whatever that is -- have to refresh my memory</p>



<a name="242794651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794651">(Jun 15 2021 at 20:28)</a>:</h4>
<p>note that we then call <code>renumber::renumber_regions</code></p>



<a name="242794694"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794694" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794694">(Jun 15 2021 at 20:28)</a>:</h4>
<p>this is the code that converts into <code>ReVar</code></p>



<a name="242794718"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794718" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794718">(Jun 15 2021 at 20:28)</a>:</h4>
<p>the problem is basically that we never call that on <code>opaque_type_key_.substs</code></p>



<a name="242794990"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242794990" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242794990">(Jun 15 2021 at 20:30)</a>:</h4>
<p>right</p>



<a name="242795014"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795014" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795014">(Jun 15 2021 at 20:30)</a>:</h4>
<p>but this bug existed before my changes, right?</p>



<a name="242795019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795019">(Jun 15 2021 at 20:30)</a>:</h4>
<p>yes</p>



<a name="242795032"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795032" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795032">(Jun 15 2021 at 20:30)</a>:</h4>
<p>yeah, ok</p>



<a name="242795040"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795040" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795040">(Jun 15 2021 at 20:30)</a>:</h4>
<p>you just moved that value around</p>



<a name="242795045"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795045" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795045">(Jun 15 2021 at 20:30)</a>:</h4>
<p>yes</p>



<a name="242795048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795048">(Jun 15 2021 at 20:30)</a>:</h4>
<p>it seems lke <code>renumber_regions</code> doesn't like to be called on code that is already renumbered</p>



<a name="242795064"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795064" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795064">(Jun 15 2021 at 20:30)</a>:</h4>
<p>just checking if it was something specifically introduced by me :)</p>



<a name="242795133"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795133" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795133">(Jun 15 2021 at 20:31)</a>:</h4>
<p>ok, I guess that with this info I can take a look at it</p>



<a name="242795197"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795197" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795197">(Jun 15 2021 at 20:31)</a>:</h4>
<p>I think we probably just have to insert a call to make a <code>renumbered_opaque_type_key</code></p>



<a name="242795280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795280">(Jun 15 2021 at 20:32)</a>:</h4>
<p>but</p>



<a name="242795286"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795286" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795286">(Jun 15 2021 at 20:32)</a>:</h4>
<p>something is fishy there</p>



<a name="242795293"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795293" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795293">(Jun 15 2021 at 20:32)</a>:</h4>
<p>hold up :)</p>



<a name="242795311"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795311" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795311">(Jun 15 2021 at 20:32)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="242795321"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795321" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795321">(Jun 15 2021 at 20:32)</a>:</h4>
<p>that would create fresh <em>inference variables</em></p>



<a name="242795329"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795329" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795329">(Jun 15 2021 at 20:32)</a>:</h4>
<p>that will fix the ICE, but I'm not sure it's what we <em>really wanted</em></p>



<a name="242795403"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795403" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795403">(Jun 15 2021 at 20:33)</a>:</h4>
<p>also I'm looking more into this code and it's seeming a touch suspicious to me</p>



<a name="242795541"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795541" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795541">(Jun 15 2021 at 20:34)</a>:</h4>
<p>for example <a href="https://github.com/rust-lang/rust/blob/246571a846e29691bd535d531365acd318857207/compiler/rustc_mir/src/borrow_check/type_check/mod.rs#L1293-L1296">this line</a> that I advised you on seems wrong -- I'm not sure how we know for sure that <code>concrete_opaque_types</code> would have just one entry (i.e., I suspect we should checking the full <code>opaque_type_key</code>)</p>



<a name="242795610"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795610" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795610">(Jun 15 2021 at 20:35)</a>:</h4>
<p>there might be a much simpler fix here</p>



<a name="242795895"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795895" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795895">(Jun 15 2021 at 20:37)</a>:</h4>
<p>sorry, reading more into the code :)</p>



<a name="242795951"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795951" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795951">(Jun 15 2021 at 20:37)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-06-15/near/242795541">said</a>:</p>
<blockquote>
<p>for example <a href="https://github.com/rust-lang/rust/blob/246571a846e29691bd535d531365acd318857207/compiler/rustc_mir/src/borrow_check/type_check/mod.rs#L1293-L1296">this line</a> that I advised you on seems wrong -- I'm not sure how we know for sure that <code>concrete_opaque_types</code> would have just one entry (i.e., I suspect we should checking the full <code>opaque_type_key</code>)</p>
</blockquote>
<p>hmm yeah, I guess I would need to re-review where checking only for def_id and where for the whole key</p>



<a name="242795972"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795972" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795972">(Jun 15 2021 at 20:37)</a>:</h4>
<p>ok, so I think that may be a bug, and it'd be nice to make a test case for it</p>



<a name="242795987"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242795987" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242795987">(Jun 15 2021 at 20:37)</a>:</h4>
<p>but also</p>



<a name="242796110"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796110" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796110">(Jun 15 2021 at 20:38)</a>:</h4>
<p><a href="https://rustc-dev-guide.rust-lang.org/borrow_check/region_inference.html#universal-regions">https://rustc-dev-guide.rust-lang.org/borrow_check/region_inference.html#universal-regions</a></p>



<a name="242796197"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796197" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796197">(Jun 15 2021 at 20:39)</a>:</h4>
<p>this function would be the one we want to convert the substs into the right variables</p>



<a name="242796199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796199">(Jun 15 2021 at 20:39)</a>:</h4>
<p><a href="https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/universal_regions/struct.UniversalRegions.html#method.to_region_vid">https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/universal_regions/struct.UniversalRegions.html#method.to_region_vid</a></p>



<a name="242796258"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796258" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796258">(Jun 15 2021 at 20:39)</a>:</h4>
<p>i.e., to convert from <code>ReEarlyBound</code> to a <code>ReVar</code> or what have you</p>



<a name="242796323"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796323" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796323">(Jun 15 2021 at 20:40)</a>:</h4>
<p>it might be that we just want to call that instead of ICE'ing</p>



<a name="242796328"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796328" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796328">(Jun 15 2021 at 20:40)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-06-15/near/242796110">said</a>:</p>
<blockquote>
<p><a href="https://rustc-dev-guide.rust-lang.org/borrow_check/region_inference.html#universal-regions">https://rustc-dev-guide.rust-lang.org/borrow_check/region_inference.html#universal-regions</a></p>
</blockquote>
<p>what are you trying to say here?</p>



<a name="242796347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796347">(Jun 15 2021 at 20:40)</a>:</h4>
<p>that just gives some general context</p>



<a name="242796356"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796356" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796356">(Jun 15 2021 at 20:40)</a>:</h4>
<p>not sure hwo useful it is though</p>



<a name="242796442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796442">(Jun 15 2021 at 20:40)</a>:</h4>
<p><span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span></p>



<a name="242796796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796796">(Jun 15 2021 at 20:43)</a>:</h4>
<p>ok</p>



<a name="242796806"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796806" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796806">(Jun 15 2021 at 20:43)</a>:</h4>
<p>i'm reading this code more</p>



<a name="242796825"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796825" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796825">(Jun 15 2021 at 20:43)</a>:</h4>
<p>I think I'm starting to understand what it does</p>



<a name="242796835"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796835" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796835">(Jun 15 2021 at 20:43)</a>:</h4>
<p>it definitely wants some comments :)</p>



<a name="242796852"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796852" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796852">(Jun 15 2021 at 20:43)</a>:</h4>
<p>but given that we are 40 minutes in</p>



<a name="242796859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796859">(Jun 15 2021 at 20:43)</a>:</h4>
<p>maybe I will look at the other bug a bit</p>



<a name="242796902"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796902" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796902">(Jun 15 2021 at 20:44)</a>:</h4>
<p>and try to leave more detailed notes about a fix</p>



<a name="242796931"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242796931" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242796931">(Jun 15 2021 at 20:44)</a>:</h4>
<p>but we should probably open an issue about the cal to <code>get_by</code>, which I believe to be wrong</p>



<a name="242797005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242797005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242797005">(Jun 15 2021 at 20:44)</a>:</h4>
<p><a href="https://github.com/rust-lang/rust/issues/78450">https://github.com/rust-lang/rust/issues/78450</a></p>



<a name="242797040"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242797040" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242797040">(Jun 15 2021 at 20:44)</a>:</h4>
<p>kind of looks like the same bug</p>



<a name="242797160"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242797160" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242797160">(Jun 15 2021 at 20:45)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="c1">//#![feature(type_alias_impl_trait)]</span>
<span class="cp">#![feature(min_type_alias_impl_trait)]</span><span class="w"></span>

<span class="k">pub</span><span class="w"> </span><span class="k">trait</span><span class="w"> </span><span class="n">AssociatedImpl</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">type</span> <span class="nc">ImplTrait</span><span class="p">;</span><span class="w"></span>

<span class="w">    </span><span class="k">fn</span> <span class="nf">f</span><span class="p">()</span><span class="w"> </span>-&gt; <span class="nc">Self</span>::<span class="n">ImplTrait</span><span class="p">;</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>

<span class="k">trait</span><span class="w"> </span><span class="n">DynTrait</span><span class="o">&lt;'</span><span class="na">a</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{}</span><span class="w"></span>

<span class="k">struct</span> <span class="nc">S</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span><span class="p">(</span><span class="n">T</span><span class="p">);</span><span class="w"></span>


<span class="k">trait</span><span class="w"> </span><span class="n">Associated</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">type</span> <span class="nc">A</span><span class="p">;</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>

<span class="c1">// ICE</span>
<span class="k">impl</span><span class="o">&lt;'</span><span class="na">a</span><span class="p">,</span><span class="w"> </span><span class="n">T</span>: <span class="nc">Associated</span><span class="o">&lt;</span><span class="n">A</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">dyn</span><span class="w"> </span><span class="n">DynTrait</span><span class="o">&lt;'</span><span class="na">a</span><span class="o">&gt;&gt;&gt;</span><span class="w"> </span><span class="n">AssociatedImpl</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">S</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">type</span> <span class="nc">ImplTrait</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">impl</span><span class="w"> </span><span class="n">core</span>::<span class="n">future</span>::<span class="n">Future</span><span class="o">&lt;</span><span class="n">Output</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">()</span><span class="o">&gt;</span><span class="p">;</span><span class="w"></span>

<span class="w">    </span><span class="k">fn</span> <span class="nf">f</span><span class="p">()</span><span class="w"> </span>-&gt; <span class="nc">Self</span>::<span class="n">ImplTrait</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="k">async</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">()</span><span class="w"> </span><span class="p">}</span><span class="w"></span>
<span class="w">    </span><span class="p">}</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="242798209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242798209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242798209">(Jun 15 2021 at 20:53)</a>:</h4>
<p>this type-checking code is a bit confusing</p>



<a name="242798265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242798265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242798265">(Jun 15 2021 at 20:54)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> we might want to spend some time doing a kind of write-up for what is going on here</p>



<a name="242798280"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242798280" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242798280">(Jun 15 2021 at 20:54)</a>:</h4>
<p>it's a bit confusing to figure out which part is responsible for what</p>



<a name="242798404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242798404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242798404">(Jun 15 2021 at 20:55)</a>:</h4>
<p>yes</p>



<a name="242798641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242798641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242798641">(Jun 15 2021 at 20:57)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/144729-wg-traits/topic/meeting.202021-06-15/near/242797005">said</a>:</p>
<blockquote>
<p><a href="https://github.com/rust-lang/rust/issues/78450">https://github.com/rust-lang/rust/issues/78450</a></p>
</blockquote>
<p>I've assigned both issues to myself</p>



<a name="242798906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242798906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242798906">(Jun 15 2021 at 20:59)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> I pushed a branch  tait-issue-83190</p>



<a name="242798918"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242798918" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242798918">(Jun 15 2021 at 20:59)</a>:</h4>
<p>let's make a zulip topic</p>



<a name="242799312"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242799312" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242799312">(Jun 15 2021 at 21:02)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> aren't those 2 issues indeed super similar and supposed to be fixed by <a href="https://github.com/rust-lang/rust/issues/85755">#85755</a> ?</p>



<a name="242799374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242799374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242799374">(Jun 15 2021 at 21:02)</a>:</h4>
<p>lol, I didn't know about <a href="https://github.com/rust-lang/rust/pull/85755">https://github.com/rust-lang/rust/pull/85755</a></p>



<a name="242799382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242799382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242799382">(Jun 15 2021 at 21:02)</a>:</h4>
<p>but that does sound like it might fix them :)</p>



<a name="242799449"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242799449" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242799449">(Jun 15 2021 at 21:03)</a>:</h4>
<p>ohh ya, seems like a fix for that :)</p>



<a name="242799474"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242799474" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242799474">(Jun 15 2021 at 21:03)</a>:</h4>
<p>I'd still like to write some docs here</p>



<a name="242799500"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242799500" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242799500">(Jun 15 2021 at 21:03)</a>:</h4>
<p><span class="user-mention" data-user-id="116266">@Santiago Pastorino</span> maybe we can schedule a time to do that, could be a good rustc-dev-guide lecture series thing, like we talked about</p>



<a name="242799512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242799512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242799512">(Jun 15 2021 at 21:03)</a>:</h4>
<p>sure</p>



<a name="242799513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/meeting%202021-06-15/near/242799513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/meeting.202021-06-15.html#242799513">(Jun 15 2021 at 21:03)</a>:</h4>
<p>I kind of feel the need to do that before I have confidence in stabilizing :)</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>